import Vue from 'vue'
import App from './App'
//引入vuex
import store from './store'

// 引入工具类
import {utils} from './utils/utils';
// 引入配置文件工具
import config from './config/config';
// 引入加密工具

const sha1 = require("sha1");

//把vuex定义成全局组件
Vue.prototype.$store = store

//把utils定义成全局组件
Vue.prototype.$utils = utils

//把config定义成全局组件
Vue.prototype.$config = config

//把sha1定义成全局组件
Vue.prototype.$sha1 = sha1


Vue.config.productionTip = false

App.mpType = 'app'



const app = new Vue({
    ...App,
	//挂载
    store,
	utils,
	config,
	sha1
})
app.$mount()

// 自定义对象forEach遍历
Object.prototype.constructor.forEach = function(obj,callback){
	if(typeof(callback) === 'function'){
		let i = 0;
		for(let key in obj){
			callback(obj[key],i,key);
			i ++;
		}
		return;
	}
	throw new Error	(callback + ' is not a function!,You can use it like this: Object.forEach(obj,(item,index,key)=>{...}) ')
}

Date.prototype.format = function(fmt) { 
	var o = { 
		"M+" : this.getMonth()+1,                 //月份 
		"d+" : this.getDate(),                    //日 
		"h+" : this.getHours(),                   //小时 
		"m+" : this.getMinutes(),                 //分 
		"s+" : this.getSeconds(),                 //秒 
		"q+" : Math.floor((this.getMonth()+3)/3), //季度 
		"S" : this.getMilliseconds()             //毫秒 
	}; 
	if(/(y+)/.test(fmt)) {
		fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
	}
	for(var k in o) {
		if(new RegExp("("+ k +")").test(fmt)){
			fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
		}
	}
	return fmt; 
}
